package unq.ui.carmensandiego

import android.widget.ArrayAdapter
import java.util.List
import org.xtendroid.app.AndroidActivity
import org.xtendroid.app.OnCreate
import unq.ui.informacionCaso.Caso
import unq.ui.services.CasoServiceFactory
import unq.ui.services.CasoCallBack
import retrofit.client.Response

@AndroidActivity(R.layout.viajar)
class ViajarActivity extends AbstractCarmenActivity {
	
	Caso estadoCaso
	
	@OnCreate
	def init(){
		val service = new CasoServiceFactory
		estadoCaso = intent.getSerializableExtra(ESTADO_CASO) as Caso
		estadoCaso.updateFields
		buttonViajar.onClickListener = [ service.viajar]
	}
	
	def viajar(CasoServiceFactory it){
		buildCasoService.viajar(spinner.selectedItem as String, estadoCaso.ID, new CasoCallBack<Caso>{
			
			override success(Caso caso, Response r) {
				estadoCaso = caso
				caso.updateFields
			}
		})
	}
	
	def updateFields(Caso caso){
		backButton.setReturnAction(this, caso)
		recorrido.text = caso.paisesRecorridos
		caso.destinosFallidos.show
		paisActual.text = caso.nombrePais
		spinner.agregarAtributos(this, caso.posiblesConexiones)
	}
	
	
	def show(List<String> elementos) {
		vistadelista.adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, elementos); 
	}
	
}